#pragma once

struct int2i final
{
	static const size_t arity = 2;

	int& operator[](const size_t index){ return *(&x + index); }
	int operator[](const size_t index) const { return *(&x + index); }

	int x;
	int y;
};

inline const int2i int2ic(const int x, const int y)
{
	int2i int2 = { x, y };
	return int2;
}